import 'package:get/get.dart';
import 'package:travel/views/about/us.dart';
import 'package:travel/views/account/mobile.dart';
import 'package:travel/views/account/password.dart';
import 'package:travel/views/account/safety.dart';
import 'package:travel/views/attractions/album.dart';
import 'package:travel/views/attractions/article.dart';
import 'package:travel/views/attractions/index.dart';
import 'package:travel/views/attractions/introduce.dart';
import 'package:travel/views/attractions/publish.dart';
import 'package:travel/views/attractions/travels.dart';
import 'package:travel/views/city/index.dart';
import 'package:travel/views/comment/index.dart';
import 'package:travel/views/customer/chat.dart';
import 'package:travel/views/follow/index.dart';
import 'package:travel/views/home/auth.dart';
import 'package:travel/views/home/faces.dart';
import 'package:travel/views/home/index.dart';
import 'package:travel/views/homepage/index.dart';
import 'package:travel/views/homepage/other/index.dart';
import 'package:travel/views/homepage/other/result.dart';
import 'package:travel/views/homepage/other/search.dart';
import 'package:travel/views/homepage/result.dart';
import 'package:travel/views/homepage/search.dart';
import 'package:travel/views/hotel/activity.dart';
import 'package:travel/views/hotel/index.dart';
import 'package:travel/views/hotel/info.dart';
import 'package:travel/views/hotel/order/info.dart';
import 'package:travel/views/hotel/order/list.dart';
import 'package:travel/views/hotel/order/search/index.dart';
import 'package:travel/views/hotel/order/search/result.dart';
import 'package:travel/views/hotel/reserve.dart';
import 'package:travel/views/hotel/search.dart';
import 'package:travel/views/map/index.dart';
import 'package:travel/views/message/interact.dart';
import 'package:travel/views/message/letter.dart';
import 'package:travel/views/message/order.dart';
import 'package:travel/views/message/system.dart';
import 'package:travel/views/mine/coin.dart';
import 'package:travel/views/mine/collect.dart';
import 'package:travel/views/mine/coupon.dart';
import 'package:travel/views/mine/ticket/history.dart';
import 'package:travel/views/mobile/modify.dart';
import 'package:travel/views/opinion/feedback.dart';
import 'package:travel/views/order/admission/info.dart';
import 'package:travel/views/order/admission/unsubscribe.dart';
import 'package:travel/views/pay/safety.dart';
import 'package:travel/views/pay/success.dart';
import 'package:travel/views/search/history.dart';
import 'package:travel/views/search/index.dart';
import 'package:travel/views/search/result.dart';
import 'package:travel/views/setting/index.dart';
import 'package:travel/views/setting/info/index.dart';
import 'package:travel/views/setting/info/sign.dart';
import 'package:travel/views/setting/info/username.dart';
import 'package:travel/views/setting/message.dart';
import 'package:travel/views/theme/index.dart';
import 'package:travel/views/video/info.dart';
import 'package:travel/views/video/result.dart';
import 'package:travel/views/video/search.dart';

class RoutePath {
  RoutePath._();

  ///首页
  static const String home = '/';

  static const String homeAuth = '/home/auth';

  static const String homeFaces = '/home/faces';

  static const String search = '/search/index';

  static const String searchResult = '/search/result';

  static const String searchHistory = '/search/history';

  static const String city = '/city/index';

  static const String theme = '/theme/index';

  static const String attractions = '/attractions/index';

  static const String attractionsIntroduce = '/attractions/introduce';

  static const String attractionsAlbum = '/attractions/album';

  static const String attractionsTravels = '/attractions/travels';

  static const String attractionsArticle = '/attractions/article';

  static const String attractionsPublish = '/attractions/publish';

  static const String comment = '/comment/index';

  static const String map = '/map/index';

  static const String setting = '/setting/index';

  static const String settingInfo = '/setting/info';

  static const String settingInfoUsername = '/setting/info/username';

  static const String settingInfoSign = '/setting/info/sign';

  static const String settingMessage = '/setting/message';

  static const String customerChat = '/customer/chat';

  static const String aboutUs = '/about/us';

  static const String opinionFeedback = '/opinion/feedback';

  static const String accountSafety = '/account/safety';

  static const String accountMobile = '/account/mobile';

  static const String accountPassword = '/account/password';

  static const String mobileModify = '/mobile/modify';

  static const String messageOrder = '/message/order';

  static const String messageInteract = '/message/interact';

  static const String messageSystem = '/message/system';

  static const String messageLetter = '/message/letter';

  static const String follow = '/follow/index';

  static const String homepage = '/homepage/index';

  static const String homepageSearch = '/homepage/search';

  static const String homepageResult = '/homepage/result';

  static const String homepageOther = '/homepage/other/index';

  static const String homepageOtherSearch = '/homepage/other/search';

  static const String homepageOtherResult = '/homepage/other/result';

  static const String videoInfo = '/video/info';

  static const String videoSearch = '/video/search';

  static const String videoResult = '/video/result';

  static const String hotel = '/hotel/index';

  static const String hotelSearch = '/hotel/search';

  static const String hotelInfo = '/hotel/info';

  static const String hotelActivity = '/hotel/activity';

  static const String hotelReserve = '/hotel/reserve';

  static const String hotelOrderList = '/hotel/order/list';

  static const String hotelOrderInfo = '/hotel/order/info';

  static const String hotelOrderSearch = '/hotel/order/search/index';

  static const String hotelOrderSearchResult = '/hotel/order/search/result';

  static const String paySafety = '/pay/safety';

  static const String paySuccess = '/pay/success';

  static const String mineCollect = '/mine/collect';

  static const String mineCoupon = '/mine/coupon';

  static const String mineTicketHistory = '/mine/ticket/history';

  static const String mineCoin = '/mine/coin';

  static const String orderAdmissionInfo = '/order/admission/info';

  static const String orderAdmissionUnsubscribe = '/order/admission/unsubscribe';

  static final List<GetPage> pages = [
    GetPage(
        name: home,
        title: '首页',
        // binding: BindingsBuilder.put(() => HomeController()),
        // page: () => const HomeView(),
        page: () => const HomeViewSate()),
    GetPage(name: homeAuth, title: '指纹认证', page: () => const MyAuthApp()),
    GetPage(name: homeFaces, title: '人脸识别', page: () => const MyFacesApp()),
    GetPage(
        name: search,
        title: '搜索',
        binding: BindingsBuilder.put(() => SearchController()),
        page: () => const SearchView()),
    GetPage(
        name: searchResult,
        title: '搜索结果',
        binding: BindingsBuilder.put(() => SearchResultController()),
        page: () => const SearchResultView()),
    GetPage(
        name: searchHistory,
        title: '搜索TA的内容',
        binding: BindingsBuilder.put(() => HistoryController()),
        page: () => const HistoryView()),
    GetPage(
        name: city,
        title: '城市',
        binding: BindingsBuilder.put(() => CityController()),
        page: () => const CityView()),
    GetPage(
        name: theme,
        title: '主题旅游',
        binding: BindingsBuilder.put(() => ThemeTourismController()),
        page: () => const ThemeTourismView()),
    GetPage(
        name: attractions,
        title: '旅游景点',
        binding: BindingsBuilder.put(() => AttractionsController()),
        page: () => const AttractionsView()),
    GetPage(
        name: attractionsIntroduce,
        title: '景点介绍',
        binding: BindingsBuilder.put(() => IntroduceController()),
        page: () => const IntroduceView()),
    GetPage(
        name: attractionsAlbum,
        title: '相册评论',
        binding: BindingsBuilder.put(() => AlbumController()),
        page: () => const AlbumView()),
    GetPage(
        name: attractionsTravels,
        title: '达人游记',
        binding: BindingsBuilder.put(() => TravelsController()),
        page: () => const TravelsView()),
    GetPage(
        name: attractionsArticle,
        title: '文章游记',
        binding: BindingsBuilder.put(() => ArticleController()),
        page: () => const ArticleView()),
    GetPage(
        name: attractionsPublish,
        title: '游记发布',
        binding: BindingsBuilder.put(() => PublishController()),
        page: () => const PublishView()),
    GetPage(
        name: comment,
        title: '评论',
        binding: BindingsBuilder.put(() => CommentController()),
        page: () => const CommentView()),
    GetPage(
        name: map,
        title: '地图',
        binding: BindingsBuilder.put(() => MapController()),
        page: () => const MapView()),
    GetPage(
        name: setting,
        title: '设置',
        binding: BindingsBuilder.put(() => SettingController()),
        page: () => const SettingView()),
    GetPage(
        name: settingInfo,
        title: '个人信息',
        binding: BindingsBuilder.put(() => InfoController()),
        page: () => const InfoView()),
    GetPage(
        name: settingInfoUsername,
        title: '用户名',
        binding: BindingsBuilder.put(() => UsernameController()),
        page: () => const UsernameView()),
    GetPage(
        name: settingInfoSign,
        title: '签名',
        binding: BindingsBuilder.put(() => SignController()),
        page: () => const SignView()),
    GetPage(
        name: settingMessage,
        title: '消息设置',
        binding: BindingsBuilder.put(() => MsgController()),
        page: () => const MsgView()),
    GetPage(
        name: customerChat,
        title: '联系客服',
        binding: BindingsBuilder.put(() => ChatController()),
        page: () => const ChatView()),
    GetPage(
        name: aboutUs,
        title: '关于我们',
        binding: BindingsBuilder.put(() => UsController()),
        page: () => const UsView()),
    GetPage(
        name: opinionFeedback,
        title: '意见反馈',
        binding: BindingsBuilder.put(() => FeedbackController()),
        page: () => const FeedbackView()),
    GetPage(
        name: accountSafety,
        title: '账号与安全',
        binding: BindingsBuilder.put(() => SafetyController()),
        page: () => const SafetyView()),
    GetPage(
        name: accountPassword,
        title: '修改密码',
        binding: BindingsBuilder.put(() => PasswordController()),
        page: () => const PasswordView()),
    GetPage(
        name: accountMobile,
        title: '修改手机号',
        binding: BindingsBuilder.put(() => MobileController()),
        page: () => const MobileView()),
    GetPage(
        name: mobileModify,
        title: '修改手机号',
        binding: BindingsBuilder.put(() => ModifyController()),
        page: () => const ModifyView()),
    GetPage(
        name: messageOrder,
        title: '订单消息',
        binding: BindingsBuilder.put(() => OrderController()),
        page: () => const OrderView()),
    GetPage(
        name: messageInteract,
        title: '互动消息',
        binding: BindingsBuilder.put(() => InteractController()),
        page: () => const InteractView()),
    GetPage(
        name: messageSystem,
        title: '系统消息',
        binding: BindingsBuilder.put(() => SystemController()),
        page: () => const SystemView()),
    GetPage(name: messageLetter, title: '私信详情', page: () => const Letter()),
    GetPage(
        name: follow,
        title: '关注与粉丝',
        binding: BindingsBuilder.put(() => FollowFansController()),
        page: () => const FollowFansView()),
    GetPage(
        name: homepage,
        title: '我的主页',
        binding: BindingsBuilder.put(() => HomepageController()),
        page: () => const HomepageView()),
    GetPage(
        name: homepageSearch,
        title: '我的主页搜索',
        binding: BindingsBuilder.put(() => HomepageSearchController()),
        page: () => const HomepageSearchView()),
    GetPage(
        name: homepageResult,
        title: '我的主页搜索结果',
        binding: BindingsBuilder.put(() => HomepageResultController()),
        page: () => const HomepageResultView()),
    GetPage(
        name: homepageOther,
        title: 'TA的主页',
        binding: BindingsBuilder.put(() => OtherController()),
        page: () => const OtherView()),
    GetPage(
        name: homepageOtherSearch,
        title: '搜索TA的内容',
        binding: BindingsBuilder.put(() => OtherSearchController()),
        page: () => const OtherSearchView()),
    GetPage(
        name: homepageOtherResult,
        title: '搜索TA的结果',
        binding: BindingsBuilder.put(() => OtherResultController()),
        page: () => const OtherResultView()),
    GetPage(
        name: videoInfo,
        title: '视频详情',
        binding: BindingsBuilder.put(() => VideoInfoController()),
        page: () => const VideoInfoView()),
    GetPage(
        name: videoSearch,
        title: '视频搜索',
        binding: BindingsBuilder.put(() => VideoSearchController()),
        page: () => const VideoSearchView()),
    GetPage(
        name: videoResult,
        title: '视频搜索结果',
        binding: BindingsBuilder.put(() => VideoResultController()),
        page: () => const VideoResultView()),
    GetPage(
        name: hotel,
        title: '酒店首页',
        binding: BindingsBuilder.put(() => HotelController()),
        page: () => const HotelView()),
    GetPage(
        name: hotelSearch,
        title: '酒店搜索',
        binding: BindingsBuilder.put(() => HotelSearchController()),
        page: () => const HotelSearchView()),
    GetPage(
        name: hotelInfo,
        title: '酒店详情',
        binding: BindingsBuilder.put(() => HotelInfoController()),
        page: () => const HotelInfoView()),
    GetPage(
        name: hotelActivity,
        title: '酒店活动',
        binding: BindingsBuilder.put(() => HotelActivityController()),
        page: () => const HotelActivityView()),
    GetPage(
        name: hotelReserve,
        title: '酒店预定',
        binding: BindingsBuilder.put(() => HotelReserveController()),
        page: () => const HotelReserveView()),
    GetPage(
        name: hotelOrderList,
        title: '酒店订单列表',
        binding: BindingsBuilder.put(() => HotelOrderListController()),
        page: () => const HotelOrderListView()),
    GetPage(
        name: hotelOrderInfo,
        title: '酒店订单详情',
        binding: BindingsBuilder.put(() => HotelOrderInfoController()),
        page: () => const HotelOrderInfoView()),
    GetPage(
        name: hotelOrderSearch,
        title: '酒店订单搜索',
        binding: BindingsBuilder.put(() => HotelOrderSearchController()),
        page: () => const HotelOrderSearchView()),
    GetPage(
        name: hotelOrderSearchResult,
        title: '酒店订单搜索结果',
        binding: BindingsBuilder.put(() => HotelOrderSearchResultController()),
        page: () => const HotelOrderSearchResultView()),
    GetPage(
        name: paySafety,
        title: '安全支付',
        binding: BindingsBuilder.put(() => PaySafetyController()),
        page: () => const PaySafetyView()),
    GetPage(
        name: paySuccess,
        title: '支付成功',
        binding: BindingsBuilder.put(() => PaySuccessController()),
        page: () => const PaySuccessView()),
    GetPage(
        name: mineCollect,
        title: '我的收藏',
        binding: BindingsBuilder.put(() => MineCollectController()),
        page: () => const MineCollectView()),
    GetPage(
        name: mineCoupon,
        title: '我的优惠券',
        binding: BindingsBuilder.put(() => MineCouponController()),
        page: () => const MineCouponView()),
    GetPage(
        name: mineTicketHistory,
        title: '历史券',
        binding: BindingsBuilder.put(() => TicketHistoryController()),
        page: () => const TicketHistoryView()),
    GetPage(
        name: mineCoin,
        title: '我的金币',
        binding: BindingsBuilder.put(() => MineCoinController()),
        page: () => const MineCoinView()),
    GetPage(
        name: orderAdmissionInfo,
        title: '门票订单详情',
        binding: BindingsBuilder.put(() => AdmissionInfoController()),
        page: () => const AdmissionInfoView()),
    GetPage(
        name: orderAdmissionUnsubscribe,
        title: '门票订单申请退订',
        binding: BindingsBuilder.put(() => AdmissionUnsubscribeController()),
        page: () => const AdmissionUnsubscribeView()),
  ];
}
